// $ANTLR 3.4 C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g 2012-02-06 16:16:53

	package data.analysis.grammar;
	
	import data.analysis.grammar.symbol.*;


import org.antlr.runtime.*;
import org.antlr.runtime.tree.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class LocStatCheckPass extends TreeFilter {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "COND", "COND_DEFAULT", "COND_OP", "COUNT", "DEFINE", "ESC_SEQ", "EXACTLY_ONE", "FRACTION", "HEX_DIGIT", "ID", "MEAN", "MEDIAN", "NOT", "OCTAL_ESC", "ONE_OR_MORE", "SCOPE_OP", "SCRIPT", "STRING", "SUBJECT", "UNICODE_ESC", "WS", "'('", "')'", "','", "';'", "'{'", "'}'"
    };

    public static final int EOF=-1;
    public static final int T__25=25;
    public static final int T__26=26;
    public static final int T__27=27;
    public static final int T__28=28;
    public static final int T__29=29;
    public static final int T__30=30;
    public static final int COND=4;
    public static final int COND_DEFAULT=5;
    public static final int COND_OP=6;
    public static final int COUNT=7;
    public static final int DEFINE=8;
    public static final int ESC_SEQ=9;
    public static final int EXACTLY_ONE=10;
    public static final int FRACTION=11;
    public static final int HEX_DIGIT=12;
    public static final int ID=13;
    public static final int MEAN=14;
    public static final int MEDIAN=15;
    public static final int NOT=16;
    public static final int OCTAL_ESC=17;
    public static final int ONE_OR_MORE=18;
    public static final int SCOPE_OP=19;
    public static final int SCRIPT=20;
    public static final int STRING=21;
    public static final int SUBJECT=22;
    public static final int UNICODE_ESC=23;
    public static final int WS=24;

    // delegates
    public TreeFilter[] getDelegates() {
        return new TreeFilter[] {};
    }

    // delegators


    public LocStatCheckPass(TreeNodeStream input) {
        this(input, new RecognizerSharedState());
    }
    public LocStatCheckPass(TreeNodeStream input, RecognizerSharedState state) {
        super(input, state);
    }

    public String[] getTokenNames() { return LocStatCheckPass.tokenNames; }
    public String getGrammarFileName() { return "C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g"; }


    	SymbolTable symbolTable;
    	Scope currentScope;
    	
    	public LocStatCheckPass(TreeNodeStream in, SymbolTable symbolTable) {
    		this(in);
    		this.symbolTable = symbolTable;
    		currentScope = symbolTable.getGlobalScope();
    	}



    // $ANTLR start "topdown"
    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:26:1: topdown : ( subj | condDown | script | scopedSubjDown );
    public final void topdown() throws RecognitionException {
        try {
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:27:2: ( subj | condDown | script | scopedSubjDown )
            int alt1=4;
            switch ( input.LA(1) ) {
            case SUBJECT:
                {
                alt1=1;
                }
                break;
            case COND:
                {
                alt1=2;
                }
                break;
            case SCRIPT:
                {
                alt1=3;
                }
                break;
            case SCOPE_OP:
                {
                alt1=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;

            }

            switch (alt1) {
                case 1 :
                    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:27:4: subj
                    {
                    pushFollow(FOLLOW_subj_in_topdown54);
                    subj();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 2 :
                    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:28:4: condDown
                    {
                    pushFollow(FOLLOW_condDown_in_topdown59);
                    condDown();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 3 :
                    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:29:4: script
                    {
                    pushFollow(FOLLOW_script_in_topdown64);
                    script();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 4 :
                    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:30:4: scopedSubjDown
                    {
                    pushFollow(FOLLOW_scopedSubjDown_in_topdown69);
                    scopedSubjDown();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "topdown"



    // $ANTLR start "bottomup"
    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:33:1: bottomup : ( count | fraction | mean | med | scopedSubjUp | condUp );
    public final void bottomup() throws RecognitionException {
        try {
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:34:2: ( count | fraction | mean | med | scopedSubjUp | condUp )
            int alt2=6;
            switch ( input.LA(1) ) {
            case COUNT:
                {
                alt2=1;
                }
                break;
            case FRACTION:
                {
                alt2=2;
                }
                break;
            case MEAN:
                {
                alt2=3;
                }
                break;
            case MEDIAN:
                {
                alt2=4;
                }
                break;
            case SCOPE_OP:
                {
                alt2=5;
                }
                break;
            case COND:
                {
                alt2=6;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;

            }

            switch (alt2) {
                case 1 :
                    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:34:4: count
                    {
                    pushFollow(FOLLOW_count_in_bottomup81);
                    count();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 2 :
                    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:35:4: fraction
                    {
                    pushFollow(FOLLOW_fraction_in_bottomup86);
                    fraction();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 3 :
                    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:36:4: mean
                    {
                    pushFollow(FOLLOW_mean_in_bottomup91);
                    mean();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 4 :
                    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:37:4: med
                    {
                    pushFollow(FOLLOW_med_in_bottomup96);
                    med();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 5 :
                    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:38:4: scopedSubjUp
                    {
                    pushFollow(FOLLOW_scopedSubjUp_in_bottomup101);
                    scopedSubjUp();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 6 :
                    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:39:4: condUp
                    {
                    pushFollow(FOLLOW_condUp_in_bottomup106);
                    condUp();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "bottomup"



    // $ANTLR start "subj"
    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:42:1: subj : ^( SUBJECT ID ( . )* ) ;
    public final void subj() throws RecognitionException {
        LocStatAST ID1=null;

        try {
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:42:5: ( ^( SUBJECT ID ( . )* ) )
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:42:7: ^( SUBJECT ID ( . )* )
            {
            match(input,SUBJECT,FOLLOW_SUBJECT_in_subj117); if (state.failed) return ;

            match(input, Token.DOWN, null); if (state.failed) return ;
            ID1=(LocStatAST)match(input,ID,FOLLOW_ID_in_subj119); if (state.failed) return ;

            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:42:20: ( . )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( ((LA3_0 >= COND && LA3_0 <= 30)) ) {
                    alt3=1;
                }
                else if ( (LA3_0==UP) ) {
                    alt3=2;
                }


                switch (alt3) {
            	case 1 :
            	    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:42:20: .
            	    {
            	    matchAny(input); if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);


            match(input, Token.UP, null); if (state.failed) return ;


            if ( state.backtracking==1 ) {
            		ID1.scope = currentScope;
            		symbolTable.resolve(ID1);
            		}

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "subj"



    // $ANTLR start "script"
    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:49:1: script : SCRIPT ;
    public final void script() throws RecognitionException {
        LocStatAST SCRIPT2=null;

        try {
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:50:2: ( SCRIPT )
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:50:4: SCRIPT
            {
            SCRIPT2=(LocStatAST)match(input,SCRIPT,FOLLOW_SCRIPT_in_script139); if (state.failed) return ;

            if ( state.backtracking==1 ) {
            		LocStatAST str = (LocStatAST)SCRIPT2.getParent().getChild(1);
            		str.scope = currentScope;
            		symbolTable.resolveScript(str);
            		}

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "script"



    // $ANTLR start "condDown"
    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:58:1: condDown : ^( COND . . ) ;
    public final void condDown() throws RecognitionException {
        LocStatAST COND3=null;

        try {
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:59:2: ( ^( COND . . ) )
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:59:4: ^( COND . . )
            {
            COND3=(LocStatAST)match(input,COND,FOLLOW_COND_in_condDown156); if (state.failed) return ;

            match(input, Token.DOWN, null); if (state.failed) return ;
            matchAny(input); if (state.failed) return ;

            matchAny(input); if (state.failed) return ;

            match(input, Token.UP, null); if (state.failed) return ;


            if ( state.backtracking==1 ) {
            		COND3.lastScope = COND3.scope = currentScope;
            		currentScope = symbolTable.findCondScope(COND3);
            		}

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "condDown"



    // $ANTLR start "scopedSubjDown"
    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:66:1: scopedSubjDown : SCOPE_OP ;
    public final void scopedSubjDown() throws RecognitionException {
        LocStatAST SCOPE_OP4=null;

        try {
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:67:2: ( SCOPE_OP )
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:67:4: SCOPE_OP
            {
            SCOPE_OP4=(LocStatAST)match(input,SCOPE_OP,FOLLOW_SCOPE_OP_in_scopedSubjDown178); if (state.failed) return ;

            if ( state.backtracking==1 ) {
            		SCOPE_OP4.lastScope = SCOPE_OP4.scope = currentScope;
            		currentScope = symbolTable.findScopeOpScope(SCOPE_OP4);
            		}

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "scopedSubjDown"



    // $ANTLR start "count"
    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:74:1: count : ^( COUNT a= . ) ;
    public final void count() throws RecognitionException {
        LocStatAST a=null;

        try {
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:75:2: ( ^( COUNT a= . ) )
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:75:4: ^( COUNT a= . )
            {
            match(input,COUNT,FOLLOW_COUNT_in_count196); if (state.failed) return ;

            match(input, Token.DOWN, null); if (state.failed) return ;
            a=(LocStatAST)input.LT(1);

            matchAny(input); if (state.failed) return ;

            match(input, Token.UP, null); if (state.failed) return ;


            if ( state.backtracking==1 ) {symbolTable.handleCount(a);}

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "count"



    // $ANTLR start "fraction"
    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:78:1: fraction : ^( FRACTION a= . b= . ) ;
    public final void fraction() throws RecognitionException {
        LocStatAST a=null;
        LocStatAST b=null;

        try {
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:79:2: ( ^( FRACTION a= . b= . ) )
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:79:4: ^( FRACTION a= . b= . )
            {
            match(input,FRACTION,FOLLOW_FRACTION_in_fraction216); if (state.failed) return ;

            match(input, Token.DOWN, null); if (state.failed) return ;
            a=(LocStatAST)input.LT(1);

            matchAny(input); if (state.failed) return ;

            b=(LocStatAST)input.LT(1);

            matchAny(input); if (state.failed) return ;

            match(input, Token.UP, null); if (state.failed) return ;


            if ( state.backtracking==1 ) {symbolTable.handleFrac(a, b);}

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "fraction"



    // $ANTLR start "mean"
    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:82:1: mean : ^( MEAN a= . b= . ) ;
    public final void mean() throws RecognitionException {
        LocStatAST a=null;
        LocStatAST b=null;

        try {
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:82:5: ( ^( MEAN a= . b= . ) )
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:82:7: ^( MEAN a= . b= . )
            {
            match(input,MEAN,FOLLOW_MEAN_in_mean238); if (state.failed) return ;

            match(input, Token.DOWN, null); if (state.failed) return ;
            a=(LocStatAST)input.LT(1);

            matchAny(input); if (state.failed) return ;

            b=(LocStatAST)input.LT(1);

            matchAny(input); if (state.failed) return ;

            match(input, Token.UP, null); if (state.failed) return ;


            if ( state.backtracking==1 ) {symbolTable.handleMean(a, b);}

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "mean"



    // $ANTLR start "med"
    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:85:1: med : ^( MEDIAN a= . b= . ) ;
    public final void med() throws RecognitionException {
        LocStatAST a=null;
        LocStatAST b=null;

        try {
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:85:5: ( ^( MEDIAN a= . b= . ) )
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:85:7: ^( MEDIAN a= . b= . )
            {
            match(input,MEDIAN,FOLLOW_MEDIAN_in_med261); if (state.failed) return ;

            match(input, Token.DOWN, null); if (state.failed) return ;
            a=(LocStatAST)input.LT(1);

            matchAny(input); if (state.failed) return ;

            b=(LocStatAST)input.LT(1);

            matchAny(input); if (state.failed) return ;

            match(input, Token.UP, null); if (state.failed) return ;


            if ( state.backtracking==1 ) {symbolTable.handleMed(a, b);}

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "med"



    // $ANTLR start "scopedSubjUp"
    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:88:1: scopedSubjUp : SCOPE_OP ;
    public final void scopedSubjUp() throws RecognitionException {
        LocStatAST SCOPE_OP5=null;

        try {
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:89:2: ( SCOPE_OP )
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:89:4: SCOPE_OP
            {
            SCOPE_OP5=(LocStatAST)match(input,SCOPE_OP,FOLLOW_SCOPE_OP_in_scopedSubjUp284); if (state.failed) return ;

            if ( state.backtracking==1 ) {
            		currentScope = SCOPE_OP5.lastScope;
            		SCOPE_OP5.evalType = ((LocStatAST)SCOPE_OP5.getChild(0)).evalType;
            		}

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "scopedSubjUp"



    // $ANTLR start "condUp"
    // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:96:1: condUp : ^( COND a= . b= . ) ;
    public final void condUp() throws RecognitionException {
        LocStatAST COND6=null;
        LocStatAST a=null;
        LocStatAST b=null;

        try {
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:97:2: ( ^( COND a= . b= . ) )
            // C:\\Users\\Charles\\Documents\\ANTLR\\LocalizationScript\\LocStatCheckPass.g:97:4: ^( COND a= . b= . )
            {
            COND6=(LocStatAST)match(input,COND,FOLLOW_COND_in_condUp302); if (state.failed) return ;

            match(input, Token.DOWN, null); if (state.failed) return ;
            a=(LocStatAST)input.LT(1);

            matchAny(input); if (state.failed) return ;

            b=(LocStatAST)input.LT(1);

            matchAny(input); if (state.failed) return ;

            match(input, Token.UP, null); if (state.failed) return ;


            if ( state.backtracking==1 ) {
            		symbolTable.handleCond(COND6);
            		currentScope = COND6.lastScope;
            		}

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "condUp"

    // Delegated rules


 

    public static final BitSet FOLLOW_subj_in_topdown54 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_condDown_in_topdown59 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_script_in_topdown64 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_scopedSubjDown_in_topdown69 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_count_in_bottomup81 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_fraction_in_bottomup86 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_mean_in_bottomup91 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_med_in_bottomup96 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_scopedSubjUp_in_bottomup101 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_condUp_in_bottomup106 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SUBJECT_in_subj117 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_ID_in_subj119 = new BitSet(new long[]{0x000000007FFFFFF8L});
    public static final BitSet FOLLOW_SCRIPT_in_script139 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_COND_in_condDown156 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_SCOPE_OP_in_scopedSubjDown178 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_COUNT_in_count196 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_FRACTION_in_fraction216 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_MEAN_in_mean238 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_MEDIAN_in_med261 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_SCOPE_OP_in_scopedSubjUp284 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_COND_in_condUp302 = new BitSet(new long[]{0x0000000000000004L});

}